package com.aoxiang.zbox.service;

import com.aoxiang.zbox.model.dto.LoginUser;
import com.aoxiang.zbox.model.dto.RegisterUser;
import com.aoxiang.zbox.model.entity.User;
import com.aoxiang.zbox.model.vo.LoginUserVO;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * Description:
 *
 * @author: aoxiang
 * @create: 2025-03-29 10:50
 **/
public interface UserService extends IService<User> {
    /**
     * 注册用户
     *
     * @param user
     * @return java.lang.Long
     * @author aoxiang
     * @create 2025/3/29
     **/
    Long register(RegisterUser user);

    /**
     * 登录用户
     *
     * @param user
     * @return com.aoxiang.zbox.model.vo.LoginUserVO
     * @author aoxiang
     * @create 2025/3/29
     **/
    LoginUserVO login(LoginUser user);

    /**
     * 登出
     *
     * @param authorization
     * @return void
     * @author aoxiang
     * @create 2025/3/29
     **/
    void logout(String authorization);

    /**
     * @param
     * @return void
     * @author aoxiang
     * @create 2025/3/30
     **/
    void writeOff();
}
